package cn.fxzhang.leetcode.no00;

/**
 * 26. 删除有序数组中的重复项
 * 给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
 *
 * 类型：数组/枚举
 * 题解：双指针，1个指针枚举数据，1个指针记录存放位置
 * 时间复杂度：O(N)
 * 空间复杂度：O(N)
 *
 * 提交记录(1/1)：
 * 执行用时: 1 ms, 击败了81.45%
 * 内存消耗: 40.4 MB, 击败了29.44%
 *
 * 【简单】通过次数630,672提交次数1,172,410
 * @author 张晓帆
 * @date 2021/4/18
 */
public class P0026_Remove_Duplicates_From_Sorted_Array {

    public int removeDuplicates(int[] nums) {
        if (nums.length == 0){
            return 0;
        }
        int j = 0;
        for (int i=1; i<nums.length; i++){
            if (nums[i] != nums[j]){
                nums[++j] = nums[i];
            }
        }
        return j+1;
    }
}
